package com.xk857.service;

import com.xk857.pojo.Car;
import com.xk857.pojo.TrafficLightConfiguration;
import com.xk857.pojo.Weather;
import com.xk857.pojo.req.UserREQ;
import com.xk857.pojo.req.WeatherREQ;
import com.xk857.pojo.vo.CarStatus;

import java.util.List;


/**
 * 小车服务层接口
 * @Author CV大魔王
 * @Date 2020.1.20
 */
public interface CarService {

    /**
     * 根据小车id查询小车信息
     * @param id 小车id
     * @return 小号侧信息
     */
    Car findCarById(Integer id);

    /**
     * 设置小车信息
     * @param car 小号侧状态信息
     * @return 小号状态信息
     */
    CarStatus setCarAction(CarStatus car);


    /**
     * 添加小车金额
     * @param car 小车信息
     * @param money 添加的金额
     */
    void addMoney(Car car, Integer money);


    /**
     * 根据id查询红绿灯配置信息
     * @param trafficLightId 红绿灯id
     * @return 红绿灯配置信息
     */
    TrafficLightConfiguration findTrafficLightConfigurationById(Integer trafficLightId);

    /**
     * 查询所有红绿灯配置信息
     * @return
     */
    List<TrafficLightConfiguration> findTrafficLightConfigurationAll();

    /**
     * 用户登陆
     * @param user 用户信息
     * @return 逻辑值，true登陆成功，false登陆失败
     */
    boolean login(UserREQ user);

    /**
     * 查询天气信息
     * @param req 城市、年月、省份请求信息
     * @return 天气信息
     */
    Weather getWeather(WeatherREQ req);
}
